From: Paul Donald Date: Mon, 27 Oct 2025 15:50:58 +0000 (+0100) Subject: luci-mod-status: DHCP; properly handle lease creation with DUID & IAID X-Git-Url: http://git.openwrt.org/%22https:/collectd.org///%22https:/collectd.org/?a=commitdiff_plain;h=bc900b5d1ca268b20209288b6d2f9f0d1720b5cd;p=project%2Fluci.git luci-mod-status: DHCP; properly handle lease creation with DUID & IAID Closes #8041 Signed-off-by: Paul Donald --- diff --git a/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js b/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js index aa03bb9ef2..8e25622d58 100644 --- a/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js +++ b/modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js @@ -51,12 +51,14 @@ return baseclass.extend({ ev.currentTarget.disabled = true; ev.currentTarget.blur(); - var cfg = uci.add('dhcp', 'host'), - ip6arr = lease.ip6addrs[0] ? validation.parseIPv6(lease.ip6addrs[0].replace(/\/128$/,'')) : null, - duid_iaid = lease.duid.toUpperCase(); - - if (lease.iaid) - duid_iaid += '%' + lease.iaid; + const cfg = uci.add('dhcp', 'host'); + const ip6addr = lease.ip6addrs?.[0]?.replace(/\/128$/, ''); + const ip6arr = ip6addr ? validation.parseIPv6(ip6addr) : null; + + // Combine DUID and IAID if both available + let duid_iaid = lease.duid ? lease.duid.toUpperCase() : null; + if (duid_iaid && lease.iaid) + duid_iaid += `%${lease.iaid}`; uci.set('dhcp', cfg, 'name', lease.hostname); uci.set('dhcp', cfg, 'duid', duid_iaid);